Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


RAID-2

RAID level 2 is data striping done at the bit level. It is a theoretical concept only; no manufacturer has yet built a RAID-2 disk controller.

RAID-3

RAID level 3 is sector striping. As is true for RAID-2, RAID-3 is considered a theoretical concept.

RAID-4

RAID level 4 is known as drive parity, or data guarding. In RAID-4, one of four drives is used for data parity. If any one of the four disks fails, the other three continue running. Because the algorithms used in RAID-4 are considered obsolete, RAID-4 is not used much. RAID-4 has essentially been replaced by RAID-5.

When you use RAID-4, many extra I/Os are generated. To calculate the parity, RAID-4 reads data from all the drives in the set. As you can imagine, the overhead involved with RAID-4 is very high.

RAID-5

RAID-5 is also known as distributed data guarding. In distributed data guarding, enough information is stored about each drive so that any one drive in the set can fail; the data is restored by using all the other drives. The space you get from RAID-5 is equal to the following:

Drive Space = ( N - 1 ) * Drive Size

In this equation, N is the number of drives in the logical volume. In other words, if you are running 12 disk drives with RAID-5, you get the space of 11 disk drives.

As with RAID-4, there is a penalty associated with RAID-5. For each write to disk, two reads take place, a calculation of the parity is done, and then two writes are done. Although a read generates only one I/O, a write generates four I/Os.

Summary of RAID Levels

You can choose from several different RAID levels based on your particular performance and budget needs. Table 15.1 summarizes the performance characteristics of the most popular RAID levels (RAID-0, RAID-1, and RAID-5).

Table 15.1 The I/Os Generated by RAID Fault Tolerance

RAID Level I/Os per Write I/Os per Read%

RAID-0 (no fault tolerance) 1 1
RAID-1 (mirroring) 2 1
RAID-5 (distributed data guarding) 4 (2 Reads, 2 Writes) 1

Keep in mind that many disk array controllers allow several logical volumes of different types on the same controller. You are not limited to a single RAID level per system or controller. You may find this freedom useful in your configuration.

Fault-Tolerance Concerns

If you use RAID technology, there are essentially three modes in which you can run your database:

  No Data Protection. Fault tolerance is not used on any of the logical volumes.
  Full Data Protection. Fault tolerance is used on all the volumes.
  Partial Data Protection. Fault tolerance is used on some of the volumes and not on others.

Although disk drives have become much more reliable in the past few years, they are still the component most likely to fail. The reason that disk drives are susceptible to failure is because they are mostly mechanical devices.

Disks are made up of sophisticated electronics and motors. Forces such as heat, dust, and friction can cause even the most well-built disk drive to fail. No matter how well you take care of your system, it is inevitable that you will one day see a disk failure.


TIP:  Depending on the size and critical nature of your database, a failure of one disk can be devastating if you are not protected. When taking into account your budget for fault-tolerant components, keep in mind the cost of extended downtime that results from a failure.

No Data Protection

In No Data Protection mode, no fault tolerance is used and the data is completely unprotected. Any disk failure causes you to reload all the affected files from the last backup.

If the failure occurred on a data volume, you can restore the data (if you are running in ARCHIVELOG mode, you can use the archive log files to restore the database up to the point of failure). Even so, when a disk drive fails, you must restore the entire volume—which may mean tens of gigabytes of data.

If the failure occurred on the volume containing your redo log files, you can recover only up to the last good archived log file. At instance recovery, you can recover only up to the point at which the LGWR started writing to the damaged log file(s).

If the failure occurred on the volume containing the OS and Oracle binaries, you must restore from a backup or reinstall the operating system, reload Oracle, and then restart Oracle.

As you can see, in each of these unprotected situations, the recovery interval can be quite long. No failure of an unprotected system is easy to recover from.

Full Data Protection

Full Data Protection is by far the most secure option. If you have fault tolerance on every disk drive in the system, any single failure does not cause a system failure. Depending on the level of fault tolerance you run, many multidisk failures can be tolerated. The level of fault tolerance you run depends on the performance you require and the budget you have.

In the last few years, the cost of disk drives has dropped so dramatically that it is not unusual to see entire systems run with disk mirroring. The cost of the extra drives needed to support fault tolerance usually outweighs the cost incurred by extended downtime.

In assessing the level of fault tolerance, look at your required I/O rates. If possible, use RAID-1 (it gives the best performance). If RAID-1 is not in your budget, perhaps you can use RAID-1 for at least your OS and redo log volumes. The redo log volumes usually demand the highest protection available.

How To Determine I/O Rates

To properly size your I/O subsystem, it is necessary to determine your I/O throughput rates. Unfortunately, this is not an easy task. The required I/O rate is determined by many factors, including the number of users, the number of transactions, the size of the SGA, and so on. It can usually be determined only by measuring the system under load. If you have profiled your application, you may already have some of this information. Once you determine the number of I/Os per second that your system requires, you can then determine the number of disk drives you need.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.